package Services;

import Impl.Type;

public interface BlocService {
	// INVARIANTS
	
	// CONSTRUCTEURS
	// post: getType()==type
	// post: getOldType()==Type.Vide
	public void init(Type type);
	
	// post: getType()==BlocService::getType(bloc)
	// post: getOldType()==BlocService::getOldType(bloc)
	public void clone(BlocService bloc);
	
	
	// OBSERVATEURS
	public Type getType();
	public Type getOldType();
	
	
	// OPERATEURS
	// post: getType()==type
	// post: getOldType()==getType()@pre
	public void ChangeType(Type type);
}
